Objects Versus Abstract Data Types: Bialgebraically
نویسنده
چکیده
Algebraic data types and catamorphisms (generic folds) play a central role in functional programming as they allow programmers to define recursive tree-like data structures and operations on them uniformly by structural recursion. Likewise, in object-oriented programming recursive hierarchies of objects play a central role for the same reason, although the execution is quite different. There is a duality between these two approaches which we formalise using a distributive law and define a notion of behavioural equivalence of the dual functional and objectoriented programs. In passing we also show how to put an algebraic structure on an object hierarchy.
منابع مشابه
Robust Method for E-Maximization and Hierarchical Clustering of Image Classification
We developed a new semi-supervised EM-like algorithm that is given the set of objects present in eachtraining image, but does not know which regions correspond to which objects. We have tested thealgorithm on a dataset of 860 hand-labeled color images using only color and texture features, and theresults show that our EM variant is able to break the symmetry in the initial solution. We compared...
متن کاملObject-Oriented Programming Versus Abstract Data Types
This tutorial collects and elaborates arguments for distinguishing between object-oriented programming and abstract data types. The basic distinction is that object-oriented programming achieves data abstraction by the use of procedural abstraction, while abstract data types depend upon type abstraction. Object-oriented programming and abstract data types can also be viewed as complimentary imp...
متن کاملFormal Objects in Type Theory Using Very Dependent Types
In this paper we present an extension to basic type theory to allow a uniform construction of abstract data types (ADTs) having many of the properties of objects, including abstraction, subtyping, and inheritance. The extension relies on allowing type dependencies for function types to range over a well-founded domain. Using the propositions{as{types correspondence, abstract data types can be i...
متن کاملComparing Model-based Versus K-means Clustering for the Planar Shapes
In some fields, there is an interest in distinguishing different geometrical objects from each other. A field of research that studies the objects from a statistical point of view, provided they are invariant under translation, rotation and scaling effects, is known as the statistical shape analysis. Having some objects that are registered using key points on the outline...
متن کاملMolecular Objects, Abstract Data Types, and Data Models: A Framework
Molecular objects occur frequently in CAD and engineering applications. At higher levels of abstraction they are treated as atomic unit,s of data; at lower levels they are defined in terms of a set of tuples possibly from different relations. System R’s complex objects are examples of molecular objects. In this paper, we present a framework for studying a generalized concept of molecular object...
متن کامل